package net.hn.hnms.biz.sewage.entity;

import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
import java.util.Objects;

/**
 * @author 智呈物联 nzw
 * @date 2022/9/22
 */
@Entity
@Table(name = "industrial_wastewater_shift", schema = "wscl", catalog = "huaneng-safety")
public class IndustrialWastewaterShiftEntity {
    private Long id;
    private String shift;
    private String personOnDuty;
    private Long indexId;
    private String totalSewageTreatment;
    private String totalOverflow;
    private String sewageTreatment;
    private String overflow;
    private String reuse;
    private BigDecimal aluminumChloride;
    private BigDecimal polyacrylamide;
    private String totalCoolingSprinkler;
    private String totalDownhole;
    private String totalRaisedPool;
    private String totalGroutingStation;
    private String coolingSprinkler;
    private String downhole;
    private String raisedPool;
    private String groutingStation;
    private String personOnDutyCode;

    private String lastSewageTreatment;
    private String lastOverflow;
    private String lastReuse;
    private String lastCoolingSprinkler;
    private String lastDownhole;
    private String lastRaisedPool;
    private String lastGroutingStation;

    private List<Map<String,String>> user ;
    private List<IndustrialWastewaterOdsEntity> industrialWastewaterOdsEntityList;
    private List<IndustrialWastewaterAmmoniaNitrogenEntity> industrialWastewaterAmmoniaNitrogenEntityList;

    private String remark;


    @Transient
    public String getLastSewageTreatment() {
        return lastSewageTreatment;
    }

    public void setLastSewageTreatment(String lastSewageTreatment) {
        this.lastSewageTreatment = lastSewageTreatment;
    }

    @Transient
    public String getLastOverflow() {
        return lastOverflow;
    }

    public void setLastOverflow(String lastOverflow) {
        this.lastOverflow = lastOverflow;
    }

    @Transient
    public String getLastReuse() {
        return lastReuse;
    }

    public void setLastReuse(String lastReuse) {
        this.lastReuse = lastReuse;
    }

    @Transient
    public String getLastCoolingSprinkler() {
        return lastCoolingSprinkler;
    }

    public void setLastCoolingSprinkler(String lastCoolingSprinkler) {
        this.lastCoolingSprinkler = lastCoolingSprinkler;
    }

    @Transient
    public String getLastDownhole() {
        return lastDownhole;
    }

    public void setLastDownhole(String lastDownhole) {
        this.lastDownhole = lastDownhole;
    }

    @Transient
    public String getLastRaisedPool() {
        return lastRaisedPool;
    }

    public void setLastRaisedPool(String lastRaisedPool) {
        this.lastRaisedPool = lastRaisedPool;
    }

    @Transient
    public String getLastGroutingStation() {
        return lastGroutingStation;
    }

    public void setLastGroutingStation(String lastGroutingStation) {
        this.lastGroutingStation = lastGroutingStation;
    }

    @Basic
    @Column(name = "remark")
    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Transient
    public List<Map<String, String>> getUser() {
        return user;
    }

    public void setUser(List<Map<String, String>> user) {
        this.user = user;
    }

    @Transient
    public List<IndustrialWastewaterAmmoniaNitrogenEntity> getIndustrialWastewaterAmmoniaNitrogenEntityList() {
        return industrialWastewaterAmmoniaNitrogenEntityList;
    }

    public void setIndustrialWastewaterAmmoniaNitrogenEntityList(List<IndustrialWastewaterAmmoniaNitrogenEntity> industrialWastewaterAmmoniaNitrogenEntityList) {
        this.industrialWastewaterAmmoniaNitrogenEntityList = industrialWastewaterAmmoniaNitrogenEntityList;
    }

    @Transient
    public List<IndustrialWastewaterOdsEntity> getIndustrialWastewaterOdsEntityList() {
        return industrialWastewaterOdsEntityList;
    }

    public void setIndustrialWastewaterOdsEntityList(List<IndustrialWastewaterOdsEntity> industrialWastewaterOdsEntityList) {
        this.industrialWastewaterOdsEntityList = industrialWastewaterOdsEntityList;
    }

    @Id
    @Column(name = "id")
    @GeneratedValue(strategy = GenerationType.AUTO, generator = "custom-id")
    @GenericGenerator(name = "custom-id", strategy = "net.hn.hnms.biz.sewage.util.CustomIDGenerator")
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Basic
    @Column(name = "shift")
    public String getShift() {
        return shift;
    }

    public void setShift(String shift) {
        this.shift = shift;
    }

    @Basic
    @Column(name = "person_on_duty")
    public String getPersonOnDuty() {
        return personOnDuty;
    }

    public void setPersonOnDuty(String personOnDuty) {
        this.personOnDuty = personOnDuty;
    }

    @Basic
    @Column(name = "index_id")
    public Long getIndexId() {
        return indexId;
    }

    public void setIndexId(Long indexId) {
        this.indexId = indexId;
    }

    @Basic
    @Column(name = "total_sewage_treatment")
    public String getTotalSewageTreatment() {
        return totalSewageTreatment;
    }

    public void setTotalSewageTreatment(String totalSewageTreatment) {
        this.totalSewageTreatment = totalSewageTreatment;
    }

    @Basic
    @Column(name = "total_overflow")
    public String getTotalOverflow() {
        return totalOverflow;
    }

    public void setTotalOverflow(String totalOverflow) {
        this.totalOverflow = totalOverflow;
    }

    @Basic
    @Column(name = "sewage_treatment")
    public String getSewageTreatment() {
        return sewageTreatment;
    }

    public void setSewageTreatment(String sewageTreatment) {
        this.sewageTreatment = sewageTreatment;
    }

    @Basic
    @Column(name = "overflow")
    public String getOverflow() {
        return overflow;
    }

    public void setOverflow(String overflow) {
        this.overflow = overflow;
    }

    @Basic
    @Column(name = "reuse")
    public String getReuse() {
        return reuse;
    }

    public void setReuse(String reuse) {
        this.reuse = reuse;
    }

    @Basic
    @Column(name = "aluminum_chloride")
    public BigDecimal getAluminumChloride() {
        return aluminumChloride;
    }

    public void setAluminumChloride(BigDecimal aluminumChloride) {
        this.aluminumChloride = aluminumChloride;
    }

    @Basic
    @Column(name = "polyacrylamide")
    public BigDecimal getPolyacrylamide() {
        return polyacrylamide;
    }

    public void setPolyacrylamide(BigDecimal polyacrylamide) {
        this.polyacrylamide = polyacrylamide;
    }

    @Basic
    @Column(name = "total_cooling_sprinkler")
    public String getTotalCoolingSprinkler() {
        return totalCoolingSprinkler;
    }

    public void setTotalCoolingSprinkler(String totalCoolingSprinkler) {
        this.totalCoolingSprinkler = totalCoolingSprinkler;
    }

    @Basic
    @Column(name = "total_downhole")
    public String getTotalDownhole() {
        return totalDownhole;
    }

    public void setTotalDownhole(String totalDownhole) {
        this.totalDownhole = totalDownhole;
    }

    @Basic
    @Column(name = "total_raised_pool")
    public String getTotalRaisedPool() {
        return totalRaisedPool;
    }

    public void setTotalRaisedPool(String totalRaisedPool) {
        this.totalRaisedPool = totalRaisedPool;
    }

    @Basic
    @Column(name = "total_grouting_station")
    public String getTotalGroutingStation() {
        return totalGroutingStation;
    }

    public void setTotalGroutingStation(String totalGroutingStation) {
        this.totalGroutingStation = totalGroutingStation;
    }

    @Basic
    @Column(name = "cooling_sprinkler")
    public String getCoolingSprinkler() {
        return coolingSprinkler;
    }

    public void setCoolingSprinkler(String coolingSprinkler) {
        this.coolingSprinkler = coolingSprinkler;
    }

    @Basic
    @Column(name = "downhole")
    public String getDownhole() {
        return downhole;
    }

    public void setDownhole(String downhole) {
        this.downhole = downhole;
    }

    @Basic
    @Column(name = "raised_pool")
    public String getRaisedPool() {
        return raisedPool;
    }

    public void setRaisedPool(String raisedPool) {
        this.raisedPool = raisedPool;
    }

    @Basic
    @Column(name = "grouting_station")
    public String getGroutingStation() {
        return groutingStation;
    }

    public void setGroutingStation(String groutingStation) {
        this.groutingStation = groutingStation;
    }

    @Basic
    @Column(name = "person_on_duty_code")
    public String getPersonOnDutyCode() {
        return personOnDutyCode;
    }

    public void setPersonOnDutyCode(String personOnDutyCode) {
        this.personOnDutyCode = personOnDutyCode;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        IndustrialWastewaterShiftEntity that = (IndustrialWastewaterShiftEntity) o;
        return id == that.id &&
                Objects.equals(shift, that.shift) &&
                Objects.equals(personOnDuty, that.personOnDuty) &&
                Objects.equals(indexId, that.indexId) &&
                Objects.equals(totalSewageTreatment, that.totalSewageTreatment) &&
                Objects.equals(totalOverflow, that.totalOverflow) &&
                Objects.equals(sewageTreatment, that.sewageTreatment) &&
                Objects.equals(overflow, that.overflow) &&
                Objects.equals(reuse, that.reuse) &&
                Objects.equals(aluminumChloride, that.aluminumChloride) &&
                Objects.equals(polyacrylamide, that.polyacrylamide) &&
                Objects.equals(totalCoolingSprinkler, that.totalCoolingSprinkler) &&
                Objects.equals(totalDownhole, that.totalDownhole) &&
                Objects.equals(totalRaisedPool, that.totalRaisedPool) &&
                Objects.equals(totalGroutingStation, that.totalGroutingStation) &&
                Objects.equals(coolingSprinkler, that.coolingSprinkler) &&
                Objects.equals(downhole, that.downhole) &&
                Objects.equals(raisedPool, that.raisedPool) &&
                Objects.equals(groutingStation, that.groutingStation);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, shift, personOnDuty, indexId, totalSewageTreatment, totalOverflow, sewageTreatment, overflow, reuse, aluminumChloride, polyacrylamide, totalCoolingSprinkler, totalDownhole, totalRaisedPool, totalGroutingStation, coolingSprinkler, downhole, raisedPool, groutingStation);
    }
}
